package com.ruoyi.business.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 任务对象 bus_task
 *
 * @author Eric
 * @date 2024-03-17
 */
@EqualsAndHashCode(callSuper = false)
@Data
@TableName("bus_task")
public class Task extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 任务名称
     */
    @Excel(name = "任务名称")
    private String taskName;

    /**
     * 调研水体名称
     */
    @Excel(name = "调研水体名称")
    private String surveyWaterBodyName;

    /**
     * 业务类别
     */
    @Excel(name = "业务类别")
    private String businessType;

    /**
     * 任务描述
     */
    @Excel(name = "任务描述")
    private String taskRemark;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;

    /**
     * 任务审核状态(0-草拟；1-待审核；2-审核通过；3-审核驳回)
     * @see com.ruoyi.business.enums.TaskAuditStatus
     */
    @Excel(name = "任务审核状态(0-草拟；1-待审核；2-审核通过；3-审核驳回)")
    private Integer auditStatus;

    /**
     * 驳回原因
     */
    @Excel(name = "驳回原因")
    private String reasonRejection;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /**
     * 数据来源（0-后台；1-app）
     */
    @Excel(name = "数据来源", readConverterExp = "0=-后台；1-app")
    private Integer source;

    private Long researchPlanId;

    private Integer syncStatus;
}
